import lang from './lang'

class Permission{
  // 传入核心
  constructor(data) {
    this.data = data
  }

  id() {
    return this.data.id
  }

  // 插件名称
  name() {
    return this.data.name
  }

  // 描述
  content() {
    return lang.t('permission.' + this.id() + '.content')
  }
}

export default {
  // 集合
  list: [],

  // 生成
  build(data) {
    data.forEach(item => {
      this.list.push(new Permission(item))
    })
  },

  // 过滤
  filter(ids) {
    return this.list.filter(permission => {
      return ids.includes(permission.id())
    })
  }
}